package ec.edu.ucacue.siop.dao.recurso.equipo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import ec.edu.ucacue.siop.dao.GenericDAOImpl;
import ec.edu.ucacue.siop.modelo.recurso.UnidadFuncional;
import ec.edu.ucacue.siop.modelo.recurso.equipo.CompetenciaDisponibleEquipo;
import ec.edu.ucacue.siop.modelo.recurso.equipo.Equipamiento;
import ec.edu.ucacue.siop.modelo.recurso.equipo.Equipo;
import ec.edu.ucacue.siop.modelo.recurso.equipo.EquipoAsignacion;
import ec.edu.ucacue.siop.modelo.recurso.equipo.EquipoRendimientoCompetencia;

public class EquipoDAOImpl extends GenericDAOImpl<Equipo, BigDecimal> implements EquipoDAO{

	public Equipo createEquipo(String identificador, String serial,
			Equipamiento equipamiento,
			List<EquipoRendimientoCompetencia> listaCompetencia,
			List<Equipo> listaComponentes, 
			Equipo padre) {
		Equipo equipo = new Equipo();
		equipo.setIdentificador(identificador);
		equipo.setSerial(serial);
		equipo.setTipo(equipamiento);
		equipo.setPadre(padre);
		equipo.setListaRendimiento(listaCompetencia);
		equipo.setListaComponente(new ArrayList<Equipo>());
		return null;
	}

	public void agregarComponente(Equipo equipo, Equipo componente) {
		equipo.getListaComponente().add(componente);
		componente.setPadre(equipo);
	}

	public void eliminarComponente(Equipo equipo, Equipo componente) {
		// TODO Auto-generated method stub
		
	}

	public void ubicar(Equipo equipo, UnidadFuncional unidad) {
		EquipoAsignacion asignacion = new EquipoAsignacion();
		asignacion.setEquipo(equipo);
		asignacion.setUnidad(unidad);
		unidad.getListaAsignacion().add(asignacion);
		
	}

	public void remover(Equipo equipo, UnidadFuncional unidad) {
		// TODO Auto-generated method stub
		
	}

	public void ajustarCompetencia(Equipo equipo,
			CompetenciaDisponibleEquipo competencia, float valor) {
		// TODO Auto-generated method stub
		
	}

}
